A configurable hash unit may perform a plurality of different hash algorithms such as Message-Digest Algorithm 5 (MD5), Secure Hash Algorithms (for example, SHA-1, SHA-256) on one or more data sets/packets. Typically, prior to processing each data set/packet, the hash unit is configured with initial parameters for the particular hash algorithm. The data set/packet is forwarded to the hash unit for processing and the hash result is read.
Typically, a hash unit operates in a “pipelined” fashion to maximize the throughput performance of the hash unit. In a pipelined operation, one portion of the data set/packet, for example, one block is processed by the hash unit while additional portions of the data set/packet are being loaded into the hash unit. Typically, many blocks of data and configuration commands may be pre-loaded. The pre-loading of the data and configuration commands allows the next data set/packet to be ‘staged’ while the current packet is being processed.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments of the claimed subject matter, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.